//package homework;
//
//import java.util.HashSet;
//import java.util.Set;
//
//class ListNode {
//    int val;
//    ListNode next;
//
//    public ListNode(int val) {
//        this.val = val;
//    }
//}
//
//class Solution {
//    public ListNode detectCycle(ListNode head) {
//        ListNode pos = head;
//        Set<ListNode> visited = new HashSet<ListNode>();
//        while (pos != null) {
//            if (visited.contains(pos)) {
//                return pos;
//            } else {
//                visited.add(pos);
//            }
//            pos = pos.next;
//        }
//        return null;
//    }
//}
//
//public class Test1 {
//}
